package Access;

import Entities.Album;
import ExtEntities.ExtAlbum;
import ExtEntities.VeryExtAlbum;
import java.sql.Date;
import java.util.LinkedList;
import javax.ejb.Remote;

/**
 *
 * @author 647_2
 */
@Remote
public interface AlbumsRemote {
    public LinkedList<ExtAlbum> getAllAlbums();
    public LinkedList<ExtAlbum> getAllAlbums(int start, int count);
    public LinkedList<ExtAlbum> getAlbumsByGroupID(int groupID, int start, int count);
    public ExtAlbum getAlbum(int ID);
    public VeryExtAlbum getFullAlbum(int ID);

    public boolean AddAlbum(String name, Date date);

    public boolean UpdateAlbum(int ID, String name, Date date);

    public boolean DeleteAlbum(int ID);

    public boolean AddGroupToAlbum(int ID, int gID);
    public boolean DeleteGroupOfAlbum(int ID, int gID);

    public boolean AddRecordingToAlbum(int ID, int rID);
    public boolean DeleteRecordingOfAlbum(int ID, int rID);

    public boolean AddCompositionToAlbum(int ID, int cID);
    public boolean DeleteCompositionOfAlbum(int ID, int cID);

    public boolean AddExecutorWithInstrumentToAlbum(int ID, int ewiID);
    public boolean DeleteExecutorWithInstrumentOfAlbum(int ID, int ewiID);
}
